package com.dyna.demo.device.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.dyna.constants.DateFatter;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @description dc_devices_info
 * @author BEJSON
 * @date 2025-08-16
 */
@Data
@ApiModel("dc_devices_info")
public class DcDevicesInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    @ApiModelProperty("id")
    private Long id;
    
    @ApiModelProperty("设备名称")
    private String name;

    
    @ApiModelProperty("设备编号")
    private String code;

    
    @ApiModelProperty("设备型号code")
    private String equipmentModelCode;

    
    @ApiModelProperty("设备型号")
    private String modelNumber;

    
    @ApiModelProperty("品牌id")
    private Long brandId;

    
    @ApiModelProperty("厂家id")
    private Long manufactureId;

    
    @ApiModelProperty("行业code")
    private String industryCode;

    
    @ApiModelProperty("单位id")
    private Long deptId;

    
    @ApiModelProperty("单位名称")
    private String deptName;

    
    @ApiModelProperty("项目id")
    private Long projectId;

    
    @ApiModelProperty("地点")
    private String address;

    
    @ApiModelProperty("经度")
    private BigDecimal longitude;

    
    @ApiModelProperty("纬度")
    private BigDecimal latitude;

    
    @ApiModelProperty("区域")
    private String area;

    
    @ApiModelProperty("村")
    private String village;

    
    @ApiModelProperty("ip")
    private String ip;

    
    @ApiModelProperty("端口")
    private String port;

    
    @ApiModelProperty("是否共享 0否 1是")
    private Integer shared;

    
    @ApiModelProperty("0启用 1禁用、")
    private Integer status;

    
    @ApiModelProperty("离线状态0在线，1离线")
    private Integer offlineStatus;

    
    @ApiModelProperty("承建商")
    private String contractor;

    
    @ApiModelProperty("安装时间")
    @JsonFormat(pattern = DateFatter.YYYY_MM_DD_HH_MM_SS)
    private LocalDateTime installationTime;

    
    @ApiModelProperty("验收时间")
    @JsonFormat(pattern = DateFatter.YYYY_MM_DD_HH_MM_SS)
    private LocalDateTime acceptanceTime;

    
    @ApiModelProperty("维保商")
    private String maintenance;

    
    @ApiModelProperty("维保到期时间")
    @JsonFormat(pattern = DateFatter.YYYY_MM_DD_HH_MM_SS)
    private LocalDateTime warrantyExpirationTime;

    
    @ApiModelProperty("设备来源")
    private Integer source;

    
    @ApiModelProperty("第三方code")
    private String platformCode;

    
    @ApiModelProperty("图标")
    private String icon;

    
    @ApiModelProperty("网关id")
    private Integer gatewayId;

    
    @ApiModelProperty("版本")
    private String version;

    
    @ApiModelProperty("创建人")
    private String createBy;

    
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = DateFatter.YYYY_MM_DD_HH_MM_SS)
    private LocalDateTime createTime;

    
    @ApiModelProperty("修改人")
    private String updateBy;

    
    @ApiModelProperty("修改时间")
    @JsonFormat(pattern = DateFatter.YYYY_MM_DD_HH_MM_SS)
    private LocalDateTime updateTime;

    
    @ApiModelProperty("删除标志（0代表存在 1代表删除）")
    private Integer delFlag;

    
    @ApiModelProperty("企业名称")
    private String businessName;

    
    @ApiModelProperty("信用代码")
    private String creditCode;

    
    @ApiModelProperty("是否是视频类型的设备 0否 1是")
    private Integer isVideoDevice;

    
    @ApiModelProperty("gb_index_code")
    private String gbIndexCode;

    
    @ApiModelProperty("视频朝向（1.正南，2.东南，3.正东，4.东北，5.正北，6.西北，7.正西，8.西南）")
    private Integer deviceToward;

    
    @ApiModelProperty("网络标识:电信->SD;广电->SG;移动->SY;联通->SL")
    private String netTag;

    
    @ApiModelProperty("rtsp流")
    private String rtsp;

    
    @ApiModelProperty("wss流")
    private String wss;

    
    @ApiModelProperty("校准状态 0已校准 1待校准")
    private Integer calibrationStatus;

    
    @ApiModelProperty("最终设备编码")
    private String serialNo;

    
    @ApiModelProperty("录像存储位置（0-中心存储，1-设备存储")
    private String recordLocation;

    
    @ApiModelProperty("项目编码")
    private String projectCode;

    
    @ApiModelProperty("设备类目")
    private String category;

    
    @ApiModelProperty("设备类型")
    private String type;

    public DcDevicesInfo() {}
}